package com.doubao.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.doubao.entity.ChatMessage;
import com.doubao.entity.vo.ChatMessageVO;

public interface ChatMessageService extends IService<ChatMessage> {

    /**
     * 发送消息
     *
     * @param userId   用户ID
     * @param deviceId 智能体ID
     * @param content  消息内容
     * @return 消息VO
     */
    ChatMessageVO sendMessage(Long userId, Long deviceId, String content);

    /**
     * 分页查询消息
     *
     * @param userId   用户ID
     * @param deviceId 智能体ID
     * @param page     分页参数
     * @return 消息分页数据
     */
    IPage<ChatMessageVO> pageMessages(Long userId, Long deviceId, Page<ChatMessage> page);

    /**
     * 删除消息
     *
     * @param userId    用户ID
     * @param messageId 消息ID
     */
    void deleteMessage(Long userId, Long messageId);

    /**
     * 清空对话
     *
     * @param userId   用户ID
     * @param deviceId 智能体ID
     */
    void clearChat(Long userId, Long deviceId);
}

